package com.panda.web.utils.pageutils;

import java.util.List;

public class PageResultYuan<T> {
  // 用户输入的数据
  private int currentPage;  // 当前页码
  private int pageSize; // 每页显示的条数

  //SQL执行后的结果
  private int totalCount; // 总条数
  private List<T> data; // 当前页数据结果集

  // 利用程序计算出来的
  private int prevPage; // 上一页
  private int nextPage; // 下一页
  private int totalPage; // 最后一页

  // 分页数据通过这个构造器封装好
  public PageResultYuan(int currentPage, int pageSize, int totalCount, List<T> data) {
    this.currentPage = currentPage;
    this.pageSize = pageSize;
    this.totalCount = totalCount;
    this.data = data;
    // 计算总页数（要先算）
    this.totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
    // 利用三元运算符来计算上一页，如果已经是第一页的话，那么他就不会有上一页，让他的上一页为第一页，否则就当前页减1为上一页
    this.prevPage = currentPage - 1 >= 1 ? currentPage - 1 : 1;
    // 利用三元运算符计算下一页，如果已经是最后一页的话，那么就没有下一页了，就不让他下一页再增加，否则就当前页自增
    this.nextPage = currentPage + 1 <= totalPage ? currentPage + 1 : totalPage;
  }
}
